package in.view.holder; import android.text.Html; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import in.lib.manager.ImageOptionsManager; import in.lib.manager.UserManager; import in.lib.utils.Views.InjectView; import in.lib.utils.Views.Injectable; import in.lib.view.AvatarImageView; import in.lib.view.LinkTouchMovementMethod; import in.lib.view.LinkedTextView; import in.model.User; import in.rob.client.R; import in.view.holder.base.Holder; @Injectable public class ProfileHeaderHolder extends Holder<User> { @InjectView private TextView usernameTitle; @InjectView private TextView usernameSubtitle; @InjectView private TextView followsYou; @InjectView private TextView followCount; @InjectView private LinkedTextView bio; @InjectView private AvatarImageView avatar; @InjectView private ImageView cover; @InjectView private Button followButton; @InjectView private Button editButton; public ProfileHeaderHolder(View view) { super(view); } @Override public void populate(User model) { avatar.setUser(model); usernameTitle.setText(model.getFormattedMentionNameTitle()); usernameSubtitle.setText(model.getFormattedMentionNameSubTitle()); bio.setText(model.getDescription()); bio.setLinkMovementMethod(LinkTouchMovementMethod.getInstance()); StringBuilder followCountText = new StringBuilder(); followCountText.append("<b>").append(model.getFollowingCount()).append("</b> following<br />"); followCountText.append("<b>").append(model.getFollowerCount()).append("</b> followers<br />"); followCountText.append("<b>").append(model.getStarredCount()).append("</b> starred<br />"); followCountText.append("<b>").append(model.getPostCount()).append("</b> posts"); followCount.setText(Html.fromHtml(followCountText.toString())); followsYou.setText(model.isFollower() ? R.string.follows_you : R.string.doesnt_follow_you); if (UserManager.getInstance().getUser().equals(model)) { editButton.setVisibility(View.VISIBLE); followButton.setVisibility(View.GONE); } else { editButton.setVisibility(View.GONE); followButton.setVisibility(View.VISIBLE); } ImageLoader.getInstance().cancelDisplayTask(cover); if (!model.isCoverDefault()) { ImageLoader.getInstance().displayImage(model.getCoverUrl(), cover, ImageOptionsManager.getInstance().getCoverImageOptions()); } } }